﻿<!DOCTYPE html>
<!--[if IE]><![endif]-->
<html>
  
  <head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <title>Class CollectionBase&lt;T&gt;
   </title>
    <meta name="viewport" content="width=device-width">
    <meta name="title" content="Class CollectionBase&lt;T&gt;
   ">
    <meta name="generator" content="docfx 2.56.4.0">
    
    <link rel="shortcut icon" href="../favicon.ico">
    <link rel="stylesheet" href="../styles/docfx.vendor.css">
    <link rel="stylesheet" href="../styles/docfx.css">
    <link rel="stylesheet" href="../styles/main.css">
    <meta property="docfx:navrel" content="../toc.html">
    <meta property="docfx:tocrel" content="toc.html">
    
    
    
  </head>
  <body data-spy="scroll" data-target="#affix" data-offset="120">
    <div id="wrapper">
      <header>
        
        <nav id="autocollapse" class="navbar navbar-inverse ng-scope" role="navigation">
          <div class="container">
            <div class="navbar-header">
              <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#navbar">
                <span class="sr-only">Toggle navigation</span>
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
              </button>
              
              <a class="navbar-brand" href="../index.html">
                <img id="logo" class="svg" src="../logo.svg" alt="">
              </a>
            </div>
            <div class="collapse navbar-collapse" id="navbar">
              <form class="navbar-form navbar-right" role="search" id="search">
                <div class="form-group">
                  <input type="text" class="form-control" id="search-query" placeholder="Search" autocomplete="off">
                </div>
              </form>
            </div>
          </div>
        </nav>
        
        <div class="subnav navbar navbar-default">
          <div class="container hide-when-search" id="breadcrumb">
            <ul class="breadcrumb">
              <li></li>
            </ul>
          </div>
        </div>
      </header>
      <div role="main" class="container body-content hide-when-search">
        
        <div class="sidenav hide-when-search">
          <a class="btn toc-toggle collapse" data-toggle="collapse" href="#sidetoggle" aria-expanded="false" aria-controls="sidetoggle">Show / Hide Table of Contents</a>
          <div class="sidetoggle collapse" id="sidetoggle">
            <div id="sidetoc"></div>
          </div>
        </div>
        <div class="article row grid-right">
          <div class="col-md-10">
            <article class="content wrap" id="_content" data-uid="Wintellect.PowerCollections.CollectionBase`1">
  
  
  <h1 id="Wintellect_PowerCollections_CollectionBase_1" data-uid="Wintellect.PowerCollections.CollectionBase`1" class="text-break">Class CollectionBase&lt;T&gt;
  </h1>
  <div class="markdown level0 summary"><p>CollectionBase is a base class that can be used to more easily implement the
generic ICollection&lt;T&gt; and non-generic ICollection interfaces.</p>
</div>
  <div class="markdown level0 conceptual"></div>
  <div class="inheritance">
    <h5>Inheritance</h5>
    <div class="level0"><span class="xref">System.Object</span></div>
    <div class="level1"><span class="xref">CollectionBase&lt;T&gt;</span></div>
      <div class="level2"><a class="xref" href="Wintellect.PowerCollections.Bag-1.html">Bag&lt;T&gt;</a></div>
      <div class="level2"><a class="xref" href="Wintellect.PowerCollections.ListBase-1.html">ListBase&lt;T&gt;</a></div>
      <div class="level2"><a class="xref" href="Wintellect.PowerCollections.MultiDictionaryBase-2.html">MultiDictionaryBase&lt;TKey, TValue&gt;</a></div>
      <div class="level2"><a class="xref" href="Wintellect.PowerCollections.Set-1.html">Set&lt;T&gt;</a></div>
  </div>
  <div classs="implements">
    <h5>Implements</h5>
    <div><span class="xref">System.Collections.Generic.ICollection</span>&lt;T&gt;</div>
    <div><span class="xref">System.Collections.Generic.IEnumerable</span>&lt;T&gt;</div>
    <div><span class="xref">System.Collections.ICollection</span></div>
    <div><span class="xref">System.Collections.IEnumerable</span></div>
  </div>
  <div class="inheritedMembers">
    <h5>Inherited Members</h5>
    <div>
      <span class="xref">System.Object.Equals(System.Object)</span>
    </div>
    <div>
      <span class="xref">System.Object.Equals(System.Object, System.Object)</span>
    </div>
    <div>
      <span class="xref">System.Object.GetHashCode()</span>
    </div>
    <div>
      <span class="xref">System.Object.GetType()</span>
    </div>
    <div>
      <span class="xref">System.Object.MemberwiseClone()</span>
    </div>
    <div>
      <span class="xref">System.Object.ReferenceEquals(System.Object, System.Object)</span>
    </div>
  </div>
  <h6><strong>Namespace</strong>: <a class="xref" href="Wintellect.PowerCollections.html">Wintellect.PowerCollections</a></h6>
  <h6><strong>Assembly</strong>: CADability.dll</h6>
  <h5 id="Wintellect_PowerCollections_CollectionBase_1_syntax">Syntax</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">[Serializable]
public abstract class CollectionBase&lt;T&gt; : ICollection&lt;T&gt;, IEnumerable&lt;T&gt;, ICollection, IEnumerable</code></pre>
  </div>
  <h5 class="typeParameters">Type Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="parametername">T</span></td>
        <td><p>The item type of the collection.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 id="Wintellect_PowerCollections_CollectionBase_1_remarks"><strong>Remarks</strong></h5>
  <div class="markdown level0 remarks"><p>To use CollectionBase as a base class, the derived class must override
the Count, GetEnumerator, Add, Clear, and Remove methods. </p>
<p>ICollection&lt;T>.Contains need not be implemented by the
derived class, but it should be strongly considered, because the CollectionBase implementation
may not be very efficient.</p>
</div>
  <h3 id="constructors">Constructors
  </h3>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=Wintellect_PowerCollections_CollectionBase_1__ctor.md&amp;value=---%0Auid%3A%20Wintellect.PowerCollections.CollectionBase%601.%23ctor%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/CollectionBase.cs/#L35">View Source</a>
  </span>
  <a id="Wintellect_PowerCollections_CollectionBase_1__ctor_" data-uid="Wintellect.PowerCollections.CollectionBase`1.#ctor*"></a>
  <h4 id="Wintellect_PowerCollections_CollectionBase_1__ctor" data-uid="Wintellect.PowerCollections.CollectionBase`1.#ctor">CollectionBase()</h4>
  <div class="markdown level1 summary"><p>Creates a new CollectionBase.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">protected CollectionBase()</code></pre>
  </div>
  <h3 id="properties">Properties
  </h3>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=Wintellect_PowerCollections_CollectionBase_1_Count.md&amp;value=---%0Auid%3A%20Wintellect.PowerCollections.CollectionBase%601.Count%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/CollectionBase.cs/#L169">View Source</a>
  </span>
  <a id="Wintellect_PowerCollections_CollectionBase_1_Count_" data-uid="Wintellect.PowerCollections.CollectionBase`1.Count*"></a>
  <h4 id="Wintellect_PowerCollections_CollectionBase_1_Count" data-uid="Wintellect.PowerCollections.CollectionBase`1.Count">Count</h4>
  <div class="markdown level1 summary"><p>Must be overridden to provide the number of items in the collection.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public abstract int Count { get; }</code></pre>
  </div>
  <h5 class="propertyValue">Property Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Int32</span></td>
        <td><p>The number of items in the collection.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h3 id="methods">Methods
  </h3>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=Wintellect_PowerCollections_CollectionBase_1_Add__0_.md&amp;value=---%0Auid%3A%20Wintellect.PowerCollections.CollectionBase%601.Add(%600)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/CollectionBase.cs/#L76">View Source</a>
  </span>
  <a id="Wintellect_PowerCollections_CollectionBase_1_Add_" data-uid="Wintellect.PowerCollections.CollectionBase`1.Add*"></a>
  <h4 id="Wintellect_PowerCollections_CollectionBase_1_Add__0_" data-uid="Wintellect.PowerCollections.CollectionBase`1.Add(`0)">Add(T)</h4>
  <div class="markdown level1 summary"><p>Must be overridden to allow adding items to this collection.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public virtual void Add(T item)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">T</span></td>
        <td><span class="parametername">item</span></td>
        <td><p>Item to be added to the collection.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 id="Wintellect_PowerCollections_CollectionBase_1_Add__0__remarks">Remarks</h5>
  <div class="markdown level1 remarks"><p>This method is not abstract, although derived classes should always
    override it. It is not abstract because some derived classes may wish to reimplement
    Add with a different return type (typically bool). In C#, this can be accomplished
    with code like the following:</p>
<pre><code>    public class MyCollection&lt;T>: CollectionBase&lt;T>, ICollection&lt;T>
    {
        public new bool Add(T item) {
            /* Add the item */
        }
<pre><code>    void ICollection&amp;lt;T&gt;.Add(T item) {
        Add(item);
    }
}&lt;/code&gt;&lt;/pre&gt;
</code></pre>
</code></pre></div>
  <h5 class="exceptions">Exceptions</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Condition</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.NotImplementedException</span></td>
        <td><p>Always throws this exception to indicated
that the method must be overridden or re-implemented in the derived class.</p>
</td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=Wintellect_PowerCollections_CollectionBase_1_AsReadOnly.md&amp;value=---%0Auid%3A%20Wintellect.PowerCollections.CollectionBase%601.AsReadOnly%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/CollectionBase.cs/#L187">View Source</a>
  </span>
  <a id="Wintellect_PowerCollections_CollectionBase_1_AsReadOnly_" data-uid="Wintellect.PowerCollections.CollectionBase`1.AsReadOnly*"></a>
  <h4 id="Wintellect_PowerCollections_CollectionBase_1_AsReadOnly" data-uid="Wintellect.PowerCollections.CollectionBase`1.AsReadOnly">AsReadOnly()</h4>
  <div class="markdown level1 summary"><p>Provides a read-only view of this collection. The returned ICollection&lt;T&gt; provides
a view of the collection that prevents modifications to the collection. Use the method to provide
access to the collection without allowing changes. Since the returned object is just a view,
changes to the collection will be reflected in the view.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public virtual ICollection&lt;T&gt; AsReadOnly()</code></pre>
  </div>
  <h5 class="returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Collections.Generic.ICollection</span>&lt;T&gt;</td>
        <td><p>An ICollection&lt;T&gt; that provides read-only access to the collection.</p>
</td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=Wintellect_PowerCollections_CollectionBase_1_Clear.md&amp;value=---%0Auid%3A%20Wintellect.PowerCollections.CollectionBase%601.Clear%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/CollectionBase.cs/#L85">View Source</a>
  </span>
  <a id="Wintellect_PowerCollections_CollectionBase_1_Clear_" data-uid="Wintellect.PowerCollections.CollectionBase`1.Clear*"></a>
  <h4 id="Wintellect_PowerCollections_CollectionBase_1_Clear" data-uid="Wintellect.PowerCollections.CollectionBase`1.Clear">Clear()</h4>
  <div class="markdown level1 summary"><p>Must be overridden to allow clearing this collection.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public abstract void Clear()</code></pre>
  </div>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=Wintellect_PowerCollections_CollectionBase_1_Contains__0_.md&amp;value=---%0Auid%3A%20Wintellect.PowerCollections.CollectionBase%601.Contains(%600)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/CollectionBase.cs/#L105">View Source</a>
  </span>
  <a id="Wintellect_PowerCollections_CollectionBase_1_Contains_" data-uid="Wintellect.PowerCollections.CollectionBase`1.Contains*"></a>
  <h4 id="Wintellect_PowerCollections_CollectionBase_1_Contains__0_" data-uid="Wintellect.PowerCollections.CollectionBase`1.Contains(`0)">Contains(T)</h4>
  <div class="markdown level1 summary"><p>Determines if the collection contains a particular item. This default implementation
iterates all of the items in the collection via GetEnumerator, testing each item
against <code data-dev-comment-type="paramref" class="paramref">item</code> using IComparable&lt;T&gt;.Equals or
Object.Equals.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public virtual bool Contains(T item)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">T</span></td>
        <td><span class="parametername">item</span></td>
        <td><p>The item to check for in the collection.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Boolean</span></td>
        <td><p>True if the collection contains <code data-dev-comment-type="paramref" class="paramref">item</code>, false otherwise.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 id="Wintellect_PowerCollections_CollectionBase_1_Contains__0__remarks">Remarks</h5>
  <div class="markdown level1 remarks"><p>You should strongly consider overriding this method to provide
a more efficient implementation, or if the default equality comparison
is inappropriate.</p>
</div>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=Wintellect_PowerCollections_CollectionBase_1_ConvertAll__1_System_Converter__0___0__.md&amp;value=---%0Auid%3A%20Wintellect.PowerCollections.CollectionBase%601.ConvertAll%60%601(System.Converter%7B%600%2C%60%600%7D)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/CollectionBase.cs/#L292">View Source</a>
  </span>
  <a id="Wintellect_PowerCollections_CollectionBase_1_ConvertAll_" data-uid="Wintellect.PowerCollections.CollectionBase`1.ConvertAll*"></a>
  <h4 id="Wintellect_PowerCollections_CollectionBase_1_ConvertAll__1_System_Converter__0___0__" data-uid="Wintellect.PowerCollections.CollectionBase`1.ConvertAll``1(System.Converter{`0,``0})">ConvertAll&lt;TOutput&gt;(Converter&lt;T, TOutput&gt;)</h4>
  <div class="markdown level1 summary"><p>Convert this collection of items by applying a delegate to each item in the collection. The resulting enumeration
contains the result of applying <code data-dev-comment-type="paramref" class="paramref">converter</code> to each item in this collection, in
order.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public virtual IEnumerable&lt;TOutput&gt; ConvertAll&lt;TOutput&gt;(Converter&lt;T, TOutput&gt; converter)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Converter</span>&lt;T, TOutput&gt;</td>
        <td><span class="parametername">converter</span></td>
        <td><p>A delegate to the method to call, passing each item in this collection.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Collections.Generic.IEnumerable</span>&lt;TOutput&gt;</td>
        <td><p>An IEnumerable&lt;TOutput^gt; that enumerates the resulting collection from applying <code data-dev-comment-type="paramref" class="paramref">converter</code> to each item in this collection in
order.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="typeParameters">Type Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="parametername">TOutput</span></td>
        <td><p>The type each item is being converted to.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="exceptions">Exceptions</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Condition</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.ArgumentNullException</span></td>
        <td><p><code data-dev-comment-type="paramref" class="paramref">converter</code> is null.</p>
</td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=Wintellect_PowerCollections_CollectionBase_1_CopyTo__0___System_Int32_.md&amp;value=---%0Auid%3A%20Wintellect.PowerCollections.CollectionBase%601.CopyTo(%600%5B%5D%2CSystem.Int32)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/CollectionBase.cs/#L123">View Source</a>
  </span>
  <a id="Wintellect_PowerCollections_CollectionBase_1_CopyTo_" data-uid="Wintellect.PowerCollections.CollectionBase`1.CopyTo*"></a>
  <h4 id="Wintellect_PowerCollections_CollectionBase_1_CopyTo__0___System_Int32_" data-uid="Wintellect.PowerCollections.CollectionBase`1.CopyTo(`0[],System.Int32)">CopyTo(T[], Int32)</h4>
  <div class="markdown level1 summary"><p>Copies all the items in the collection into an array. Implemented by
using the enumerator returned from GetEnumerator to get all the items
and copy them to the provided array.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public virtual void CopyTo(T[] array, int arrayIndex)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td>T[]</td>
        <td><span class="parametername">array</span></td>
        <td><p>Array to copy to.</p>
</td>
      </tr>
      <tr>
        <td><span class="xref">System.Int32</span></td>
        <td><span class="parametername">arrayIndex</span></td>
        <td><p>Starting index in <code data-dev-comment-type="paramref" class="paramref">array</code> to copy to.</p>
</td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=Wintellect_PowerCollections_CollectionBase_1_CountWhere_System_Predicate__0__.md&amp;value=---%0Auid%3A%20Wintellect.PowerCollections.CollectionBase%601.CountWhere(System.Predicate%7B%600%7D)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/CollectionBase.cs/#L234">View Source</a>
  </span>
  <a id="Wintellect_PowerCollections_CollectionBase_1_CountWhere_" data-uid="Wintellect.PowerCollections.CollectionBase`1.CountWhere*"></a>
  <h4 id="Wintellect_PowerCollections_CollectionBase_1_CountWhere_System_Predicate__0__" data-uid="Wintellect.PowerCollections.CollectionBase`1.CountWhere(System.Predicate{`0})">CountWhere(Predicate&lt;T&gt;)</h4>
  <div class="markdown level1 summary"><p>Counts the number of items in the collection that satisfy the condition
defined by <code data-dev-comment-type="paramref" class="paramref">predicate</code>.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public virtual int CountWhere(Predicate&lt;T&gt; predicate)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Predicate</span>&lt;T&gt;</td>
        <td><span class="parametername">predicate</span></td>
        <td><p>A delegate that defines the condition to check for.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Int32</span></td>
        <td><p>The number of items in the collection that satisfy <code data-dev-comment-type="paramref" class="paramref">predicate</code>.</p>
</td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=Wintellect_PowerCollections_CollectionBase_1_Exists_System_Predicate__0__.md&amp;value=---%0Auid%3A%20Wintellect.PowerCollections.CollectionBase%601.Exists(System.Predicate%7B%600%7D)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/CollectionBase.cs/#L204">View Source</a>
  </span>
  <a id="Wintellect_PowerCollections_CollectionBase_1_Exists_" data-uid="Wintellect.PowerCollections.CollectionBase`1.Exists*"></a>
  <h4 id="Wintellect_PowerCollections_CollectionBase_1_Exists_System_Predicate__0__" data-uid="Wintellect.PowerCollections.CollectionBase`1.Exists(System.Predicate{`0})">Exists(Predicate&lt;T&gt;)</h4>
  <div class="markdown level1 summary"><p>Determines if the collection contains any item that satisfies the condition
defined by <code data-dev-comment-type="paramref" class="paramref">predicate</code>.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public virtual bool Exists(Predicate&lt;T&gt; predicate)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Predicate</span>&lt;T&gt;</td>
        <td><span class="parametername">predicate</span></td>
        <td><p>A delegate that defines the condition to check for.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Boolean</span></td>
        <td><p>True if the collection contains one or more items that satisfy the condition
defined by <code data-dev-comment-type="paramref" class="paramref">predicate</code>. False if the collection does not contain
an item that satisfies <code data-dev-comment-type="paramref" class="paramref">predicate</code>.</p>
</td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=Wintellect_PowerCollections_CollectionBase_1_FindAll_System_Predicate__0__.md&amp;value=---%0Auid%3A%20Wintellect.PowerCollections.CollectionBase%601.FindAll(System.Predicate%7B%600%7D)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/CollectionBase.cs/#L248">View Source</a>
  </span>
  <a id="Wintellect_PowerCollections_CollectionBase_1_FindAll_" data-uid="Wintellect.PowerCollections.CollectionBase`1.FindAll*"></a>
  <h4 id="Wintellect_PowerCollections_CollectionBase_1_FindAll_System_Predicate__0__" data-uid="Wintellect.PowerCollections.CollectionBase`1.FindAll(System.Predicate{`0})">FindAll(Predicate&lt;T&gt;)</h4>
  <div class="markdown level1 summary"><p>Enumerates the items in the collection that satisfy the condition defined
by <code data-dev-comment-type="paramref" class="paramref">predicate</code>.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public virtual IEnumerable&lt;T&gt; FindAll(Predicate&lt;T&gt; predicate)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Predicate</span>&lt;T&gt;</td>
        <td><span class="parametername">predicate</span></td>
        <td><p>A delegate that defines the condition to check for.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Collections.Generic.IEnumerable</span>&lt;T&gt;</td>
        <td><p>An IEnumerable&lt;T&gt; that enumerates the items that satisfy the condition.</p>
</td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=Wintellect_PowerCollections_CollectionBase_1_ForEach_System_Action__0__.md&amp;value=---%0Auid%3A%20Wintellect.PowerCollections.CollectionBase%601.ForEach(System.Action%7B%600%7D)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/CollectionBase.cs/#L274">View Source</a>
  </span>
  <a id="Wintellect_PowerCollections_CollectionBase_1_ForEach_" data-uid="Wintellect.PowerCollections.CollectionBase`1.ForEach*"></a>
  <h4 id="Wintellect_PowerCollections_CollectionBase_1_ForEach_System_Action__0__" data-uid="Wintellect.PowerCollections.CollectionBase`1.ForEach(System.Action{`0})">ForEach(Action&lt;T&gt;)</h4>
  <div class="markdown level1 summary"><p>Performs the specified action on each item in this collection.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public virtual void ForEach(Action&lt;T&gt; action)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Action</span>&lt;T&gt;</td>
        <td><span class="parametername">action</span></td>
        <td><p>An Action delegate which is invoked for each item in this collection.</p>
</td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=Wintellect_PowerCollections_CollectionBase_1_GetEnumerator.md&amp;value=---%0Auid%3A%20Wintellect.PowerCollections.CollectionBase%601.GetEnumerator%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/CollectionBase.cs/#L309">View Source</a>
  </span>
  <a id="Wintellect_PowerCollections_CollectionBase_1_GetEnumerator_" data-uid="Wintellect.PowerCollections.CollectionBase`1.GetEnumerator*"></a>
  <h4 id="Wintellect_PowerCollections_CollectionBase_1_GetEnumerator" data-uid="Wintellect.PowerCollections.CollectionBase`1.GetEnumerator">GetEnumerator()</h4>
  <div class="markdown level1 summary"><p>Must be overridden to enumerate all the members of the collection.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public abstract IEnumerator&lt;T&gt; GetEnumerator()</code></pre>
  </div>
  <h5 class="returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Collections.Generic.IEnumerator</span>&lt;T&gt;</td>
        <td><p>A generic IEnumerator&lt;T&gt; that can be used
to enumerate all the items in the collection.</p>
</td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=Wintellect_PowerCollections_CollectionBase_1_Remove__0_.md&amp;value=---%0Auid%3A%20Wintellect.PowerCollections.CollectionBase%601.Remove(%600)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/CollectionBase.cs/#L92">View Source</a>
  </span>
  <a id="Wintellect_PowerCollections_CollectionBase_1_Remove_" data-uid="Wintellect.PowerCollections.CollectionBase`1.Remove*"></a>
  <h4 id="Wintellect_PowerCollections_CollectionBase_1_Remove__0_" data-uid="Wintellect.PowerCollections.CollectionBase`1.Remove(`0)">Remove(T)</h4>
  <div class="markdown level1 summary"><p>Must be overridden to allow removing items from this collection.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public abstract bool Remove(T item)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">T</span></td>
        <td><span class="parametername">item</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <h5 class="returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Boolean</span></td>
        <td><p>True if <code data-dev-comment-type="paramref" class="paramref">item</code> existed in the collection and
was removed. False if <code data-dev-comment-type="paramref" class="paramref">item</code> did not exist in the collection.</p>
</td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=Wintellect_PowerCollections_CollectionBase_1_RemoveAll_System_Predicate__0__.md&amp;value=---%0Auid%3A%20Wintellect.PowerCollections.CollectionBase%601.RemoveAll(System.Predicate%7B%600%7D)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/CollectionBase.cs/#L262">View Source</a>
  </span>
  <a id="Wintellect_PowerCollections_CollectionBase_1_RemoveAll_" data-uid="Wintellect.PowerCollections.CollectionBase`1.RemoveAll*"></a>
  <h4 id="Wintellect_PowerCollections_CollectionBase_1_RemoveAll_System_Predicate__0__" data-uid="Wintellect.PowerCollections.CollectionBase`1.RemoveAll(System.Predicate{`0})">RemoveAll(Predicate&lt;T&gt;)</h4>
  <div class="markdown level1 summary"><p>Removes all the items in the collection that satisfy the condition
defined by <code data-dev-comment-type="paramref" class="paramref">predicate</code>.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public virtual ICollection&lt;T&gt; RemoveAll(Predicate&lt;T&gt; predicate)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Predicate</span>&lt;T&gt;</td>
        <td><span class="parametername">predicate</span></td>
        <td><p>A delegate that defines the condition to check for.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Collections.Generic.ICollection</span>&lt;T&gt;</td>
        <td><p>Returns a collection of the items that were removed, in sorted order.</p>
</td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=Wintellect_PowerCollections_CollectionBase_1_ToArray.md&amp;value=---%0Auid%3A%20Wintellect.PowerCollections.CollectionBase%601.ToArray%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/CollectionBase.cs/#L156">View Source</a>
  </span>
  <a id="Wintellect_PowerCollections_CollectionBase_1_ToArray_" data-uid="Wintellect.PowerCollections.CollectionBase`1.ToArray*"></a>
  <h4 id="Wintellect_PowerCollections_CollectionBase_1_ToArray" data-uid="Wintellect.PowerCollections.CollectionBase`1.ToArray">ToArray()</h4>
  <div class="markdown level1 summary"><p>Creates an array of the correct size, and copies all the items in the
collection into the array, by calling CopyTo.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public virtual T[] ToArray()</code></pre>
  </div>
  <h5 class="returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td>T[]</td>
        <td><p>An array containing all the elements in the collection, in order.</p>
</td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=Wintellect_PowerCollections_CollectionBase_1_ToString.md&amp;value=---%0Auid%3A%20Wintellect.PowerCollections.CollectionBase%601.ToString%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/CollectionBase.cs/#L45">View Source</a>
  </span>
  <a id="Wintellect_PowerCollections_CollectionBase_1_ToString_" data-uid="Wintellect.PowerCollections.CollectionBase`1.ToString*"></a>
  <h4 id="Wintellect_PowerCollections_CollectionBase_1_ToString" data-uid="Wintellect.PowerCollections.CollectionBase`1.ToString">ToString()</h4>
  <div class="markdown level1 summary"><p>Shows the string representation of the collection. The string representation contains
a list of the items in the collection. Contained collections (except string) are expanded
recursively.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public override string ToString()</code></pre>
  </div>
  <h5 class="returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.String</span></td>
        <td><p>The string representation of the collection.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="overrides">Overrides</h5>
  <div><span class="xref">System.Object.ToString()</span></div>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=Wintellect_PowerCollections_CollectionBase_1_TrueForAll_System_Predicate__0__.md&amp;value=---%0Auid%3A%20Wintellect.PowerCollections.CollectionBase%601.TrueForAll(System.Predicate%7B%600%7D)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/CollectionBase.cs/#L220">View Source</a>
  </span>
  <a id="Wintellect_PowerCollections_CollectionBase_1_TrueForAll_" data-uid="Wintellect.PowerCollections.CollectionBase`1.TrueForAll*"></a>
  <h4 id="Wintellect_PowerCollections_CollectionBase_1_TrueForAll_System_Predicate__0__" data-uid="Wintellect.PowerCollections.CollectionBase`1.TrueForAll(System.Predicate{`0})">TrueForAll(Predicate&lt;T&gt;)</h4>
  <div class="markdown level1 summary"><p>Determines if all of the items in the collection satisfy the condition
defined by <code data-dev-comment-type="paramref" class="paramref">predicate</code>.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public virtual bool TrueForAll(Predicate&lt;T&gt; predicate)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Predicate</span>&lt;T&gt;</td>
        <td><span class="parametername">predicate</span></td>
        <td><p>A delegate that defines the condition to check for.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Boolean</span></td>
        <td><p>True if all of the items in the collection satisfy the condition
defined by <code data-dev-comment-type="paramref" class="paramref">predicate</code>, or if the collection is empty. False if one or more items
in the collection do not satisfy <code data-dev-comment-type="paramref" class="paramref">predicate</code>.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h3 id="eii">Explicit Interface Implementations
  </h3>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=Wintellect_PowerCollections_CollectionBase_1_System_Collections_Generic_ICollection_T__IsReadOnly.md&amp;value=---%0Auid%3A%20Wintellect.PowerCollections.CollectionBase%601.System%23Collections%23Generic%23ICollection%7BT%7D%23IsReadOnly%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/CollectionBase.cs/#L175">View Source</a>
  </span>
  <a id="Wintellect_PowerCollections_CollectionBase_1_System_Collections_Generic_ICollection_T__IsReadOnly_" data-uid="Wintellect.PowerCollections.CollectionBase`1.System#Collections#Generic#ICollection{T}#IsReadOnly*"></a>
  <h4 id="Wintellect_PowerCollections_CollectionBase_1_System_Collections_Generic_ICollection_T__IsReadOnly" data-uid="Wintellect.PowerCollections.CollectionBase`1.System#Collections#Generic#ICollection{T}#IsReadOnly">ICollection&lt;T&gt;.IsReadOnly</h4>
  <div class="markdown level1 summary"><p>Indicates whether the collection is read-only. Always returns false.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">bool ICollection&lt;T&gt;.IsReadOnly { get; }</code></pre>
  </div>
  <h5 class="returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Boolean</span></td>
        <td><p>Always returns false.</p>
</td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=Wintellect_PowerCollections_CollectionBase_1_System_Collections_ICollection_CopyTo_System_Array_System_Int32_.md&amp;value=---%0Auid%3A%20Wintellect.PowerCollections.CollectionBase%601.System%23Collections%23ICollection%23CopyTo(System.Array%2CSystem.Int32)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/CollectionBase.cs/#L322">View Source</a>
  </span>
  <a id="Wintellect_PowerCollections_CollectionBase_1_System_Collections_ICollection_CopyTo_" data-uid="Wintellect.PowerCollections.CollectionBase`1.System#Collections#ICollection#CopyTo*"></a>
  <h4 id="Wintellect_PowerCollections_CollectionBase_1_System_Collections_ICollection_CopyTo_System_Array_System_Int32_" data-uid="Wintellect.PowerCollections.CollectionBase`1.System#Collections#ICollection#CopyTo(System.Array,System.Int32)">ICollection.CopyTo(Array, Int32)</h4>
  <div class="markdown level1 summary"><p>Copies all the items in the collection into an array. Implemented by
using the enumerator returned from GetEnumerator to get all the items
and copy them to the provided array.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">void ICollection.CopyTo(Array array, int index)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Array</span></td>
        <td><span class="parametername">array</span></td>
        <td><p>Array to copy to.</p>
</td>
      </tr>
      <tr>
        <td><span class="xref">System.Int32</span></td>
        <td><span class="parametername">index</span></td>
        <td><p>Starting index in <code data-dev-comment-type="paramref" class="paramref">array</code> to copy to.</p>
</td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=Wintellect_PowerCollections_CollectionBase_1_System_Collections_ICollection_IsSynchronized.md&amp;value=---%0Auid%3A%20Wintellect.PowerCollections.CollectionBase%601.System%23Collections%23ICollection%23IsSynchronized%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/CollectionBase.cs/#L352">View Source</a>
  </span>
  <a id="Wintellect_PowerCollections_CollectionBase_1_System_Collections_ICollection_IsSynchronized_" data-uid="Wintellect.PowerCollections.CollectionBase`1.System#Collections#ICollection#IsSynchronized*"></a>
  <h4 id="Wintellect_PowerCollections_CollectionBase_1_System_Collections_ICollection_IsSynchronized" data-uid="Wintellect.PowerCollections.CollectionBase`1.System#Collections#ICollection#IsSynchronized">ICollection.IsSynchronized</h4>
  <div class="markdown level1 summary"><p>Indicates whether the collection is synchronized.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">bool ICollection.IsSynchronized { get; }</code></pre>
  </div>
  <h5 class="returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Boolean</span></td>
        <td><p>Always returns false, indicating that the collection is not synchronized.</p>
</td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=Wintellect_PowerCollections_CollectionBase_1_System_Collections_ICollection_SyncRoot.md&amp;value=---%0Auid%3A%20Wintellect.PowerCollections.CollectionBase%601.System%23Collections%23ICollection%23SyncRoot%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/CollectionBase.cs/#L361">View Source</a>
  </span>
  <a id="Wintellect_PowerCollections_CollectionBase_1_System_Collections_ICollection_SyncRoot_" data-uid="Wintellect.PowerCollections.CollectionBase`1.System#Collections#ICollection#SyncRoot*"></a>
  <h4 id="Wintellect_PowerCollections_CollectionBase_1_System_Collections_ICollection_SyncRoot" data-uid="Wintellect.PowerCollections.CollectionBase`1.System#Collections#ICollection#SyncRoot">ICollection.SyncRoot</h4>
  <div class="markdown level1 summary"><p>Indicates the synchronization object for this collection.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">object ICollection.SyncRoot { get; }</code></pre>
  </div>
  <h5 class="returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Object</span></td>
        <td><p>Always returns this.</p>
</td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=Wintellect_PowerCollections_CollectionBase_1_System_Collections_IEnumerable_GetEnumerator.md&amp;value=---%0Auid%3A%20Wintellect.PowerCollections.CollectionBase%601.System%23Collections%23IEnumerable%23GetEnumerator%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/CollectionBase.cs/#L376">View Source</a>
  </span>
  <a id="Wintellect_PowerCollections_CollectionBase_1_System_Collections_IEnumerable_GetEnumerator_" data-uid="Wintellect.PowerCollections.CollectionBase`1.System#Collections#IEnumerable#GetEnumerator*"></a>
  <h4 id="Wintellect_PowerCollections_CollectionBase_1_System_Collections_IEnumerable_GetEnumerator" data-uid="Wintellect.PowerCollections.CollectionBase`1.System#Collections#IEnumerable#GetEnumerator">IEnumerable.GetEnumerator()</h4>
  <div class="markdown level1 summary"><p>Provides an IEnumerator that can be used to iterate all the members of the
collection. This implementation uses the IEnumerator&lt;T&gt; that was overridden
by the derived classes to enumerate the members of the collection.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">IEnumerator IEnumerable.GetEnumerator()</code></pre>
  </div>
  <h5 class="returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Collections.IEnumerator</span></td>
        <td><p>An IEnumerator that can be used to iterate the collection.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h3 id="implements">Implements</h3>
  <div>
      <span class="xref">System.Collections.Generic.ICollection&lt;T&gt;</span>
  </div>
  <div>
      <span class="xref">System.Collections.Generic.IEnumerable&lt;T&gt;</span>
  </div>
  <div>
      <span class="xref">System.Collections.ICollection</span>
  </div>
  <div>
      <span class="xref">System.Collections.IEnumerable</span>
  </div>
</article>
          </div>
          
          <div class="hidden-sm col-md-2" role="complementary">
            <div class="sideaffix">
              <div class="contribution">
                <ul class="nav">
                  <li>
                    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=Wintellect_PowerCollections_CollectionBase_1.md&amp;value=---%0Auid%3A%20Wintellect.PowerCollections.CollectionBase%601%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A" class="contribution-link">Improve this Doc</a>
                  </li>
                  <li>
                    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/CollectionBase.cs/#L28" class="contribution-link">View Source</a>
                  </li>
                </ul>
              </div>
              <nav class="bs-docs-sidebar hidden-print hidden-xs hidden-sm affix" id="affix">
                <h5>In This Article</h5>
                <div></div>
              </nav>
            </div>
          </div>
        </div>
      </div>
      
      <footer>
        <div class="grad-bottom"></div>
        <div class="footer">
          <div class="container">
            <span class="pull-right">
              <a href="#top">Back to top</a>
            </span>
            
            <span>Generated by <strong>DocFX</strong></span>
          </div>
        </div>
      </footer>
    </div>
    
    <script type="text/javascript" src="../styles/docfx.vendor.js"></script>
    <script type="text/javascript" src="../styles/docfx.js"></script>
    <script type="text/javascript" src="../styles/main.js"></script>
  </body>
</html>
